diff --git a/system/core/Hooks.php b/system/core/Hooks.php
index aa7ac1e..aa62e68 100644
--- a/system/core/Hooks.php
+++ b/system/core/Hooks.php
@@ -54,6 +54,13 @@
 	public $hooks =	array();
 
 	/**
+	 * Array with class objects to use hooks methods
+	 *
+	 * @var array
+	 */
+	public $class = array();
+
+	/**
 	 * In progress flag
 	 *
 	 * Determines whether hook is in progress, used to prevent infinte loops
@@ -195,15 +202,33 @@
 		// Call the requested class and/or function
 		if ($class !== FALSE)
 		{
-			class_exists($class, FALSE) OR require_once($filepath);
-
-			if ( ! class_exists($class, FALSE) OR ! method_exists($class, $function))
+			// The object is stored?
+			if (isset($this->class[$class]) && method_exists($this->class[$class], $function))
 			{
-				return $this->_in_progress = FALSE;
+				$this->class[$class]->$function($params);
 			}
+			else
+			{	
+				class_exists($class, FALSE) OR require_once($filepath);
 
-			$HOOK = new $class();
-			$HOOK->$function($params);
+				if ( ! class_exists($class, FALSE) OR ! method_exists($class, $function))
+				{
+					return $this->_in_progress = FALSE;
+				}
+				
+				// If the developer wants the object to be stored
+				if (isset($data['store_object']) && $data['store_object'] === TRUE)
+				{
+					$this->class[$class] = new $class();
+					$HOOK =& $this->class[$class];
+				}
+				else
+				{
+					$HOOK = new $class();
+				}
+				
+				$HOOK->$function($params);
+			}
 		}
 		else
 		{
@@ -224,4 +249,4 @@
 }
 
 /* End of file Hooks.php */
-/* Location: ./system/core/Hooks.php */
\ No newline at end of file
+/* Location: ./system/core/Hooks.php */
